<?php
use DataWidget\input\Input;
use DataWidget\input\DateTimeCombineInput;
use DataWidget\input\SelectInput;
use DataWidget\input\TimeInput;
use DataWidget\input\TimeRangeInput;

use DataWidget\field\Field;
use DataWidget\field\SelectField;
use DataWidget\field\TimeField;
use DataWidget\input\MultiSelectInput;
use DataWidget\field\MultiSelectField;
use DataWidget\field\CheckField;
use DataWidget\input\CheckboxInput;
use DataWidget\input\DateTimeLocalInput;

return [
    "field"=>[
        "text"=>["input"=>Input::class, "field"=>Field::class],

        "date"=>["input"=>TimeInput::class, "field"=>TimeField::class, "format"=>"Y-m-d"],
        "time"=>["input"=>TimeInput::class, "field"=>TimeField::class, "format"=>"H:i"],
        "datetime-local"=>["input"=>DateTimeLocalInput::class, "field"=>TimeField::class, "format"=>"Y-m-d H:i", "local_format"=>"Y-m-d\TH:i"],
        "datetime"=>["input"=>DateTimeCombineInput::class, "field"=>TimeField::class, "format"=>"Y-m-d H:i", "date_format"=>"Y-m-d", "time_format"=>"H:i"],

        "checkbox"=>["input"=>CheckboxInput::class, "field"=>CheckField::class],
        "select"=>["input"=>SelectInput::class, "field"=>SelectField::class],
        "multi_select"=>["input"=>MultiSelectInput::class, "field"=>MultiSelectField::class],
        
        "range"=>["input"=>Input::class],
    ],
    "filter"=>[
        "equal"=>["input"=>Input::class,"method"=>"equal"],
        "like"=>["input"=>Input::class,"method"=>"like"],
        "date"=>["input"=>TimeInput::class, "format"=>"Y-m-d","method"=>"date"],
        "datetime_range"=>["input"=>TimeRangeInput::class,"method"=>"between"],
    ],
];
